package main

import "fmt"

//defer 用来释放资源的

func main() {

	res := sum(10, 29)
	fmt.Println("main res=", res)

}

func sum(n1 int, n2 int) int {

	//函数执行完毕后 才会执行 defer

	//执行顺序 先进后出 压栈入 弹栈出
	defer fmt.Println("n1", n1)
	defer fmt.Println("n2", n2)

	//不影响 之前defer的数据
	n1++
	n2++
	defer fmt.Println("n1++", n1)
	defer fmt.Println("n2++", n2)

	res := n1 + n2
	fmt.Println("sum res", res)
	return res
}
